iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 2
0
Software Development

Kotlin with android studio 開發30天不間斷系列 第 2

Kotlin android 30天開發不間斷 day 2.kotlin 語法介紹

  • 分享至 

  • xImage
  •  

凡事以官方為主
Kotlin 官方網站
https://kotlinlang.org/docs/reference/
https://sinadarvi.gitbooks.io/kotlin-for-android-developers/
Kotlin 中文網站
https://huanglizhuo.gitbooks.io/kotlin-in-chinese/content/GettingStarted/Basic-Syntax.html

今天這章會是一個簡易版 今天所寫會是大部分時候會用到的 如果之後有用到其他語法會再回來補充

  1. Kotlin 註解
    凡事從最重要的開始 註解
    //單航註解
    /* */區塊註解
    有點類似C#

  2. Kotlin 變數

    (1)常數
    val a: Int = 1 // 初期有值
    val b = 2 // 類型自動推導為int
    val c: Int // 沒有起始值時初始化請給予變數類型
    c = 3 // 自動推倒為常數並給予變數類型為int
    (2)變數
    var x = 5 // 初始化初期有值自動推導為int

  3. Kotlin 變數類型

    (1)數值

    (2)字串
    var a = 1
    // simple name in template:
    val s1 = "a is $a"
    a = 2
    // arbitrary expression in template:

    val s2 = "${s1.replace("is", "was")}, but now is $a"
    (3) 代補 目前沒看到其他的類型

  4. Kotlin 函式
    fun 函式名稱 (帶入變數 : 變數類型):返回值類型 {
    函式內容

    }

  5. Kotlin 條件式
    (1)if
    if 可以帶有返回值
    var max = a
    if (a < b) max = b
    ===============
    if...else
    var max: Int
    if (a > b) {
    max = a
    }
    else{
    max = b
    }
    ===============
    直接表達式寫出
    val max = if (a > b) a else b

    (2)try catch 通常用在程式運行錯誤 印出錯誤訊息
    try (表達式){

    }
    catch{

    }

  6. Kotlin 迴圈
    (1)when
    switch 取代
    when (x) {
    1 -> print("x == 1")
    2 -> print("x == 2")
    else -> { // Note the block
    print("x is neither 1 nor 2")
    }
    }

    else 可以放去表達式裡

    when (x) {
    0,1 -> print("x == 0 or x == 1")
    else -> print("otherwise")
    }

    表達式裡可以放其他的表達式
    when (x) {
    parseInt(s) -> print("s encode x")
    else -> print("s does not encode x")
    }

    可以用in 或!in 偵測變數是否在集合或者範圍中
    when (x) {
    in 1..10 -> print("x is in the range")
    in validNumbers -> print("x is valid")
    !in 10..20 -> print("x is outside the range")
    else -> print("none of the above")
    }

    可以用is或!is來判斷值的類型

    val hasPrefix = when (x) {
    is String -> x.startsWith("prefix")
    else -> false
    }

    (2)for

    基本型
    for (item in collection)
    print(item)

    =================
    for (item: Int in ints){
    // ...
    }
    =================
    for (i in array.indices)
    print(array[i]
    =================
    for ((index, value) in array.withIndex()) {
    println("the element at $index is $value")
    }
    =================

    (3)while
    while (x > 0) {
    x--
    }
    do {
    val y = retrieveData()
    } while (y != null)

    (4) Kotlin 支援 break 和 continue

  7. Kotlin package & import
    (1) package
    package package名稱
    (2) import
    import 套件名稱

  8. 其他待補


上一篇
# Kotlin android 30天開發不間斷 day 1.安裝Android stuio / kotlin / anko support
下一篇
Kotlin android 30天開發不間斷 day 3.Android 介面設計
系列文
Kotlin with android studio 開發30天不間斷30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言